// pages/wxlogin/wxlogin.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  //微信登录，获取用户信息的回调
  bindGetUserInfo(e) {
    console.log(e)
    console.log(e.detail.userInfo)
    console.log(JSON.stringify(e.detail.userInfo))
    wx.setStorageSync("wxUserInfo", e.detail.userInfo)
    //解码得到的encryptedData
    //。。。调用解码函数

    //调用后台接口进行微信登录
    this.wxLogin()

  },

  //调用后台接口进行微信登录
  wxLogin() {
    wx.showLoading({
      title: '登陆中',
    })
    wx.request({
      url: getApp().globalData.myHttp + '/user/threeWayLoginVal',
      method: "POST",
      header: {
        'content-type': 'application/x-www-form-urlencoded',
      },
      data: {
        "openId": wx.getStorageSync("openID"),
        "loginType": "weixin",
      },
      success(res) {
        wx.hideLoading()
        console.log(res)
        console.log(res.data)
        console.log("用户登录后的结果为：" + res)
        //判断是否已经绑定过手机号查询数据库中是否有该用户信息
        if (res.data.success) {
          var user = res.data.obj
          console.log(user)
          // 缓存用户数据
          wx.setStorageSync('user', user)
          // 保存用户账号
          getApp().globalData.userPhone = user.userPhone;

          //登录成功
          console.log("微信登录成功")
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
            duration: 2000
          })
          //跳转回前两个页面
          wx.navigateBack({
            delta: 2
          })
        } else {
          console.log(res.data.msg)
          //无该用户信息，绑定手机号
          wx.showToast({
            title: res.data.msg,
            icon: 'none',
            duration: 2000
          })
          //跳转到微信绑定手机号页面
          wx.navigateTo({
            url: '../wxbangding/wxbangding',
          })
        }
      }
    })

  },

  //获取openID
  getTheOpenID() {
    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        console.log("res.code：" + res.code)
        var appid = ""
        var secret = ""
        wx.request({
          url: "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + secret + "&js_code=" + res.code + "&grant_type=authorization_code",
          method: 'GET',
          success: function(res) {
            console.log(res)
            console.log(res.data)
            console.log(res.data.openid)
            wx.setStorageSync('openID', res.data.openid)
          }
        }, function(err, response, body) {
          if (!err && response.statusCode == 200) {
            res.json(JSON.parse(body));
          } else {}
        });
      }
    })
  },

  //放回前两个页面
  toLastPage(){
    //跳转回前两个页面
    wx.navigateBack({
      delta: 2
    })
  },

  //返回首页
  goback() {
    wx.navigateBack({})
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    //获取用户openID
    this.getTheOpenID()
    wx.getSetting({
      success(res) {
        console.log("授权" + res)
        console.log("授权" + JSON.stringify(res))
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称
          //拿到session_key实例化WXBizDataCrypt（）这个函数在下面解密用
          // var pc = new WXBizDataCrypt(appId, res.data.session_key)
          wx.getUserInfo({
            success: function(res) {
              //拿到getUserInfo（）取得的res.encryptedData, res.iv，调用decryptData（）解密
              // var data = pc.decryptData(res.encryptedData, res.iv)
              // app.globalData.unionid = data.unionId
              // console.log('解密后 unionid: ', app.globalData.unionid)
              console.log(res)
              console.log(JSON.stringify(res))
              console.log(res.userInfo)
            }
          })
        }
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})